iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
Software Development

Way to Golang & Kubernetes 系列 第 5

[Day 5.] Kubernetes client-go

  • 分享至 

  • xImage
  •  

今日分享一下最近研究的部分: Kubernetes 的 client-go。


Client-go 是負責呼叫 Kubernetes cluster API 的客戶端,也就是透過 client-go,可以實作 Kubernetes cluster 中資源(舉凡如 Deployment、service、replicaSet、pod、node等)的增刪改查等操作。
以圖示來做說明的話,可以參考下圖來自 GitHub sample-controller,上半部分就是 client-go 所負責的區塊,包含 Reflector 透過 List & Watch 來監聽資源,並將變更資源事件放到 Delta Fifo Queue 中; 而下半部則為 controller。

https://ithelp.ithome.com.tw/upload/images/20230920/20163282BMtkvuV6Ia.jpg

Client-go 提供的四種 Clients:

  • REST Client: 最基本的 Client 端,下列三種都是基於此而擴展的。封裝了 HTTP Request,對使用者提供了 RESTful 風格的 API。
  • Clientset: 相比 REST Client 使用上更為方便,但無法控制自定義資源(CRD)。
  • DynamicClient
  • DiscoveryClient

[待續]


上一篇
[Day 4]. Pod
下一篇
[Day 6]. Pod 2
系列文
Way to Golang & Kubernetes 11
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言